package com.hmy.contract.service.contract;

import com.hmy.contract.bo.request.contract.AreaManagerApprovalContractRequest;
import com.hmy.contract.bo.request.contract.ContractApprovalHistoryRequest;
import com.hmy.contract.bo.request.contract.RiskMinisterApprovalContractRequest;
import com.hmy.contract.bo.response.contract.AreaManagerApprovalContractResponse;
import com.hmy.contract.bo.response.contract.ContractApprovalHistoryResponse;
import com.hmy.contract.bo.response.contract.RiskMinisterApprovalContractResponse;

public interface IContractApprovalService {

    /**
     * 获取合同审批历史
     * @param contractApprovalHistoryRequest 获取增补合同审批历史入参
     * @return {@link ContractApprovalHistoryResponse}
     */
    ContractApprovalHistoryResponse getContractApprovalHistory(ContractApprovalHistoryRequest contractApprovalHistoryRequest);

    /**
     * 风控部长审批合同
     * @param riskMinisterApprovalContractRequest 风控部长审批合同入参
     * @return {@link RiskMinisterApprovalContractResponse}
     */
    RiskMinisterApprovalContractResponse riskMinisterApprovalContract(RiskMinisterApprovalContractRequest riskMinisterApprovalContractRequest);

    /**
     * 区域经理审批合同
     * @param areaManagerApprovalContractRequest 区域经理审批合同入参
     * @return {@link AreaManagerApprovalContractResponse}
     */
    AreaManagerApprovalContractResponse areaManagerApprovalContract(AreaManagerApprovalContractRequest areaManagerApprovalContractRequest);

}
